legendsofequestriafandomcom-20200222-history
Dialog script command list
This is a comment #Narration : This is from the narrator! NARRATOR: So is this! these lines as well #Character Rainbow Dash: blah blah blah halb floo de flah blah Rainbow Dash (angry): ARHHGHGHHG #variables #these variables persist across dialog sessions, but not across login sessions * $moon_goddess = Princess Luna * $ponies = Jimmy, Horse, $moon_goddess * $cool_pony = random($ponies) Rainbow Dash: $cool_pony is a cool pony! * if $cool_pony = Horse: goto ConditionalGoto1 * $gotonext = GotoInAVariable * goto $gotonext GotoInAVariable #Dialogue options #If it's in brackets, it means it's just an action, not the character saying anything #"I'll never answer your question" falls through to "Option1" because there was no goto label specified, # so it skips to the next action, which happens to be in Option1. > The square root is 7 :Option1 > How about now :Option2 > ...I could just watch you practice flying... :Option7 > I'll never answer your question > Away :END #Labels Option1 Twilight Sparkle (smug) : Incorrect! #Gotos * goto PinkiePieStartsSinging ConditionalGoto1 Pinkie Pie : you used a conditional goto! PinkiePieStartsSinging Pinkie Pie : La la lah lah laaa laaa hum lee laaa #hasitem * hasitem? <0> :WantsYourBalloon #goes to the label WantsYourBaloon if the player has item 0 # you can also check if the player has all the items in a list, like so: * hasitem? <0, 1, 2, 3> :HasAllItems #giveitem * giveitem 0 10 # gives the player 10 of item ID 0 # use the item manager tool to see all the item id's # item id -1 is bits. #takeitem * takeitem 0 10 #same syntax as giveitem #hascutiemark * hascutiemark? <5> :IsSuperGoodAtFlying #goes to the label IsSuperGoodAtFlying if the player has the cutie mark with ID of 5 # use the cutiemark manager tool to see all the cutiemark ids #israce * israce? :IsEarthPony #goes to the label IsEarthPony if the player is an earth pony #valid values are Earth, Unicorn, and Pegasus (not case sensitive) * questactive? :QuestIsActive # goes to the label QuestIsActive if the quest SomeQuest is active * activatequest SomeQuest #activates the quest SomeQuest (adds it to the player, and sets the stage to 0 # queststage * queststage 0 #quests are not only just active/completed, but can go through stages. #this is how you save a player's progress through a quest. #stage 0 is the default stage for a new quest * queststage? = 3 :QuestIsAtStage3 # go to label QuestIsAtStage3, if the quest is at stage 3 * queststage? > 3 :QuestIsAfterStage3 # go to the label if the quest stage value is greater than 3 * queststage? < 3 : QuestIsBeforeStage3 # go to the label if the quest stage value is less than 3 * questcomplete? :QuestCompleted # go to the label if the quest is completed # a completed quest technically is queststage of 2147483647 (signed integer max value) * completequest SomeQuest #complete the quest SomeQuest #journal entries {IdentifierJournal Entry Identifier} #remember to always have the quest titles identical, or else it will become a different 'quest', and not be grouped together #journal entries show up in the order that the player runs across them in the scripts. You cannot change the order after they have done something. #define the actual quest names/journal entries as shown the players in the journal files #"complete" a journal entry (the set of journal entries will be marked as 'done' to the player) {Title As Shown To PlayerCOMPLETE} #the following will run the script named Hello World.ponyscript, that exists next to this script * runscript Hello World.ponyscript #the following will run the script, as before, and then jump to the Label inside that script * runscript Hello World.pscript goto name # Using these labels will cause the script to ignore anything outside of them. # You can also goto them if you want to restart the script or exit it. # BEGINNING # END #You also cannot use the following names for characters: # PLAYER #------------------------------------------------------------------- #anything not on this list that exists on the ponyscript.md #information is broken, and should not be used. Category:Internal Tool Manuals